package com.asa.control_theory;

public class B {
	
	
	/**
	 * 以图	control_theory-B01为例	(一个弹簧阻尼模型，我们还给它加了个外力作为输入)
	 * 
	 * 
	 * 状态空间(state-space)
	 * 集合：输入，输出，状态变量-----一阶微分方程
	 * 
	 * 输入： U(t) = f(t)
	 * 输出： x
	 * 
	 * 
	 * m*x`` + B * x` + k * x = f(t)
	 * 
	 * 设 ：
	 * 		z1 = x			===》 	z1` = x` = z2
	 * 		z2 = x`					z2` = x`` = (f(t) - B * x` - k * x )/m = 1/m * f(t)  - B/m * z2 - k/m * z1
	 * 								
	 * 		这样就形成了一个矩阵
	 * 		z1` = z2
	 * 		z2` =  1/m * U(t)  - B/m * z2 - k/m * z1
	 * 		===》
	 * 		{z1`,z2`}T
	 * 		{
	 * 			{0,1}，
	 * 			{-k/m,-B/m}
	 * 		}* {z1,z2}T
	 * 		+
	 * 		{
	 * 			0,
	 * 			1/m
	 * 		}* U(t)
	 * 		而
	 * 		y = {1,0}*{z1,z2}T + {0}*{U(t)}
	 * 
	 * 
	 * 	由y和z这样我们就相当于写成了为标准形
	 * 
	 * 		z` = A*z + B*u
	 * 		y = C*z + D*u
	 * 		其中：
	 * 			A = {
	 * 				{0,1}，
	 * 				{-k/m,-B/m}
	 * 			}
	 * 			B = {
	 * 				0,
	 * 				1/m
	 * 			}
	 * 			C = {1,0}			
	 * 			D = 0
	 * 	
	 * 
	 * 		传递函数：G(s) = X(s)/F(s) = Y(s)/U(s) = 1/(m*Math.pow(s,2) + B*s + k)					这一步：U(s)是怎么来的没看见
	 * 		传递函数是指零初始条件下线性系统响应（即输出）量的拉普拉斯变换（或z变换）与激励（即输入）量的拉普拉斯变换之比。
	 * 		记作G（s）=Y（s）/U（s），其中Y（s）、U（s） 分别为输出量和输入量的拉普拉斯变换。		
	 * 
	 * 		对z`的这个等式做拉氏变换
	 * 			Lz` = LA*z + B*u
	 * 			S*Z(s) = A*Z(s) + B * U(s)		
	 * 			S*Z(s) - A*Z(s) = B * U(s)
	 * 			(S*I - A) *Z(s) = B * U(s)		I是单位矩阵
	 * 			Z(s) = (S*I - A)^(-1) * B * U(s)
	 * 		对y的这个等式做拉氏变换
	 * 			Ly = LC*z + D*u
	 * 			Y(s) = C*Z(s) + D*U(s)
	 * 			
	 * 		将上面两式合并
	 * 			Y(s) = C*(S*I - A)^(-1) * B * U(s) + D*U(s)
	 * 		再将这个Y(s)带入到传递函数
	 * 			G(s) = Y(s)/U(s) = C*(S*I - A)^(-1) * B + D		这个结论是很重要的哟，这个结论叫做
	 * 
	 * 		S*I-A = 
	 * 			{
	 * 				{S,0},
	 * 				{0,S}
	 * 			}
	 * 			-
	 * 			{
	 * 				{0,1},
	 * 				{-k/m,-B/m}
	 * 			}
	 * 			= 
	 * 			{
	 * 				{S,1},
	 * 				{-k/m,S+B/m}
	 * 			}
	 * 		
	 * 		(S*I-A)^(-1) 它的逆就是（用伴随矩阵的方式来求）
	 * 			(S*I-A)* / |S*I-A|
	 *			= {
	 *				{S+B/m,1},
	 *				{-k/m,S}
	 *			  } / (S(S+B/m) - (-1)*k/m)
	 *			
	 *		那么	上面已知C = {1,0}	
	 *		C*(S*I-A)^(-1)*B = (1/m) / (S*S + B/m * S + k/m)
	 *			
	 * 		由G(s) = Y(s)/U(s) = C*(S*I - A)^(-1) * B + D	
	 * 		G(s) = 1 / (m*S*S + B * S + k) 
	 * 		
	 * 		
	 * 		对于|S*I-A|=0，这时候的S就是A矩阵的特征值
	 * 		即m*S*S + B * S + k=0 这时候的S就是极点，传递函数的极点，决定了系统的稳定性（这里不细说）
	 * 		
	 * 
	 * 
	 * 
	 */
	
	
	/**
	 * 
	 * 以图	control_theory-B02为例	一个简单的电路的例子
	 * 输入： U
	 * 输出： 主= iR1
	 * 状态变量： v1,v2
	 * 
	 * KCL： ∑I=0		根据基尔霍夫的定理，所有离开系统的电流总和等于所有进入系统的电流总和
	 * e1: iR1 = i1 + iR2
	 * e2: iR2 = i2
	 * 
	 * iR1 = (U-V1)/R1
	 * iR2 = (V1-V2)/R2
	 * 
	 * i1 = C1 * V1`
	 * i2 = C2 * V2`
	 * 
	 * 
	 * 合并上面的等式
	 * e1: (U-V1)/R1 = i1 + iR2
	 * e2: (V1-V2)/R2 = i2
	 * 
	 * e1: (U-V1)/R1 = C1 * V1` + (V1-V2)/R2
	 * e2: (V1-V2)/R2 = C2 * V2`
	 * 再把这个式子变一下形
	 * V1` = U/(C1*R1) - (1/(C1*R1) + 1/(C1*R1))*V1 + V2/(C1*R2)
	 * V2` = 1/(C2*R2) * V1 - 1/(C2*K2) * V2
	 * 
	 * y = iR1 = (U-V1)/R1  = 1/R1 * U + 1/R1 * V1
 	 * 
 	 * 
 	 * 这样，上面的式子又可以转换为标准形式了，即
	 * 		z` = A*z + B*u
	 * 		y = C*z + D*u		这种形式
	 * 
	 * 变形后的矩阵形式太难写了，我不写了。
	 * 
	 * 
	 * A的特征值就是G(s)的极点！！！
	 * 
	 * 
	 * 
 	 * 
	 * 
	 */
	
	
	
	
	
	
	
	
	
}
